package day08.dao;

import java.util.Scanner;

public class Application {
		private UserDao dao;
		public static Scanner sca=new Scanner(System.in);
		public Application(UserDao dao){
				this.dao=dao;
		}
		
		public void register(){
			while(true) {
			System.out.println("请输入注册名：");
			String userName=sca.next();
			System.out.println("请输入密码：");
			String userPassword1=sca.next();
			System.out.println("请再输入一次密码：");
			String userPassword2=sca.next();
			if(!userPassword1.equals(userPassword2)){
				System.out.println("你两次输入的密码不一样，请重新输入：");
				continue;
			}
			System.out.println("请输入你的E-mail地址：");
			String userEmail=sca.next();
			User u1=new User(userName, userPassword2, userEmail);
			dao.addUser(u1);
			//用户从控制台输入：用户名，密码，重复密码，email
			//将其封装为user对象
			//调用userdao.addUser();
			//根据返回结果输出成功与否的消息
				break;
			}
		}
		
		public void login(){
			while(true){
			System.out.println("请输入用户名：");
			String enterUserName=sca.next();
			System.out.print("请输入密码：");
			String enterUserpassword=sca.next();
			User p=dao.getUser(enterUserName, enterUserpassword);
				if(p ==null){
					System.out.println("登录失败！用户名或者密码不正确：请重新输入：");
					System.out.println();
					continue;
				}
				System.out.println("用户名："+p.getUserName());
				System.out.println("E-mail:"+p.getEmail());
				System.out.println("积分："+p.getScore());//未赋值的初始化变量是0；
				break;
				//System.exit(0);
			}	
			//从控制台输入：用户名，密码
			//调用userdao.getUser()方法
			//判断返回的user对象是否为null
			//输出登录成功与 失败的消息；如果登录成功了，则输出该用户的email与积分			
			}
		
		public void quit(){
			System.exit(0);
		}
		
		public static void main(String args[]){
				UserDao dao=new ArrayDao();
				Application app=new Application(dao);
					while(true){ 
					System.out.println("请输入你要执行的命令：");
					String s=sca.next();
					if(s.equals("register")){					
						app.register();
						continue;
					}else if(s.equals("login")){
						app.login();
						continue;
					}else if(s.equals("quit")){
						System.out.println("你已经成功退出该系统！");
						app.quit();
					}else{
						System.out.println("你输入的命令不正确，请重新输入：");
						continue;
					}
				}
		}
}
